package com.ls.lserp.modules.order.dao;

import java.util.List;

import com.ls.lserp.common.persistence.CrudDao;
import com.ls.lserp.common.persistence.annotation.MyBatisDao;
import com.ls.lserp.modules.common.entity.UploadFile;
import com.ls.lserp.modules.order.entity.*;
import com.ls.lserp.modules.produce.entity.ProduceParameter;
import com.ls.lserp.modules.sys.entity.Brand;

/**
 * @ClassName: BigcargoStyleDao
 * @Description: 分类接口
 * 
 * @author 于辉
 * @date 2017年01月19日
 *
 */

@MyBatisDao
public interface BigcargoStyleDao extends CrudDao<BigcargoStyle> {

	 List<BigcargoStyle> findCustomerList(BigcargoStyle bigcargoStyle);

	// top1 下一级子页面信息
	 List<BigcargoStyle> getNextChildPage(BigcargoStyle bigcargoStyle);

	 // top1 下一级子页面信息
	 List<BigcargoStyleFitProperty> findBigcargoStyleFitProperty(BigcargoStyle bigcargoStyle);

	// 返回图骗ID
	 String getstyleOptionId(BigcargoStyle bigcargoStyle);

	// 返回图片地址
	 List<UploadFile> getAllFile(String id);

	// 上传文件管理表
	 void insertUploadFile(UploadFileData upFile);

	// 款式_上传文件关联表
	 void insertStyleFile(BigcargoStyle bigcargoStyle);

	// 款式_量体项目关联表款式的规格尺寸信息
	 void insertStyleFit(BigcargoStyle bigcargoStyle);

	// 服装款式意见要求信息表
	 void insertStyleFeedBack(StyleFeedBack sfb);

	// 服装款式_面料辅料表
	 void insertStyleMaterial(BigcargoStyle bigcargoStyle);

	// 款式_客户关联表
	 void insertStylecustomer(BigcargoStyle bigcargoStyle);

	// 图片list
	 List<UploadFileData> imageList(BigcargoStyle bigcargoStyle);

	// 尺码信息
	 List<StyleFit> selectStyleFit(BigcargoStyle bigcargoStyle);

	// 原辅料信息
	 List<ChangeMaterial> selectMaterial(BigcargoStyle bigcargoStyle);

	// 意见要求信息
	 List<StyleFeedBack> selectfeedback(BigcargoStyle bigcargoStyle);

	// 画面修改
	 void upStyleContract(BigcargoStyle bigcargoStyle);

	// 删除尺码信息
	 void deleteStyleFit(BigcargoStyle bigcargoStyle);

	// 删除尺码信息
	 void deleteStyleMaterial(BigcargoStyle bigcargoStyle);

	// 删除顾客信息
	 void deleteStyleCustomer(BigcargoStyle bigcargoStyle);

	// 删除文件信息
	 void deleteUploadFile(BigcargoStyle bigcargoStyle);

	// 删除文件款式关键信息
	 void deleteStyleFile(BigcargoStyle bigcargoStyle);

	// 删除意见信息
	 void deleteStyleFeedBack(BigcargoStyle bigcargoStyle);

	// 尺码组list
	 List<SampleType> selectSampleType(BigcargoStyle bigcargoStyle);

	// 样品需求表
	 void insertSample(BigcargoStyle bigcargoStyle);

	// 样品管理_样品单及款号关联表
	 void insertSampleStyle(BigcargoStyle bigcargoStyle);

	// 样品需求及尺寸数量信息样品需求单对应的尺寸及数量
	 void insertSampleSizeQuantity(BigcargoStyle bigcargoStyle);

	// 样品需求画面用(款式检索)
	 BigcargoStyle selectSpecmenDemandStyle(BigcargoStyle bigcargoStyle);

	// 更新樣品需求
	 void upSampleSpecimen(BigcargoStyle bigcargoStyle);

	//
	 void deleteSampleStyle(BigcargoStyle bigcargoStyle);

	//
	 void delSampleSizeQuantity(BigcargoStyle bigcargoStyle);

	//
	 List<SampleType> selectSampleTypeTemp(BigcargoStyle bigcargoStyle);

	// 样品需求画面用 删除文件（不包括图片）
	 void deleteUploadFileSpecimen(BigcargoStyle bigcargoStyle);

	//
	 void deleteStleFileSpecimen(BigcargoStyle bigcargoStyle);

	//
	 SampleType countRequestId(BigcargoStyle bigcargoStyle);

	// 面辅料信息(用品需求用)
	 void insertStyleMaterialSpecimen(BigcargoStyle bigcargoStyle);

	// 报价管理_排版单耗_款式关联表
	 void insertUnitCostType(BigcargoStyle bigcargoStyle);

	// 报价管理_排版单耗表
	 void insertUnitCost(BigcargoStyle bigcargoStyle);

	// 排版单耗面辅料表
	 void insertMaterialSpecimenUnitCost(ChangeMaterial changeMaterial);

	// 报价管理_排版单耗表 删除用
	 void deleteUnitCost(BigcargoStyle bigcargoStyle);

	// 报价管理_排版单耗_款式关联表 删除用
	 void deleteUnitCostType(BigcargoStyle bigcargoStyle);

	// 面辅料信息(用品需求用) 删除用
	 void deleteMaterialSpecimenUnitCost(BigcargoStyle bigcargoStyle);
	
	// 刪除樣品需求表
	 void deleteSample(BigcargoStyle bigcargoStyle);
	// 单耗查询
	 BigcargoStyle selectUnitCost(BigcargoStyle bigcargoStyle);
	 // 品牌id查询
	BigcargoStyle selectBrankId(BigcargoStyle bigcargoStyle);
	// 品牌中文名查询
	List<Brand> selectBrankNameCn(BigcargoStyle bigcargoStyle);
	void insertFeedFile(BigcargoStyle bigcargoStyle);

	// 意见反馈用文件list
	List<UploadFileData> feedFileList(int feedBackId);
	void delFeedFile(BigcargoStyle bigcargoStyle);
	// 工艺要求list
	List<ProductionEntity> selProductinoList(ProductionEntity productionEntity);
	// 工艺要求关联表插入
	void insertStyleProction(BigcargoStyle bigcargoStyle);
	// 工艺要求关联表查看
	List<ProductionEntity> seleProduction(BigcargoStyle bigcargoStyle);
	// 生产工序list
	List<ProduceParameter> selOperatingList(BigcargoStyle bigcargoStyle);
	// 生产工序list
	List<ProduceParameter> srchOperatingList(BigcargoStyle bigcargoStyle);
	// 生产工序关联表插入
	void insertStyleOperating(BigcargoStyle bigcargoStyle);
	//生产工序删除
	void deleteStyleOperating(BigcargoStyle bigcargoStyle);
	//生产工艺删除
	void deleteStyleProduction(BigcargoStyle bigcargoStyle);
	// 成衣入库基础表信息追加
	void insertInventoryClothes(BigcargoStyle bigcargoStyle);
	
}
